Julia 阵列
阐述
阵列是 AbstractArray{T, N}
的子类型。最常用的一种是 Array{T, N}
,也即稠密阵列。
定义自己的阵列类型
必须定义的方法:size
, IndexStyle
, getindex
实例
阵列字面值
我们可以通过中括号来创建阵列字面值:[A, B, C, ...]
,其中元素类型由它们自动决定:
- 如果元素都属于同一类型,就是这个类型;
- 如果元素有共同的提升类型,则为提升类型;
- 类型为
Any
。
阵列推导
通用的语法:
A = [ F(x, y, ...) for x = rx, y = ry, ...]
这里 rx, ry
都是可迭代对象。
阵列字面值的纵向连接
如果方括号内的元素由分号或者新行连接,那么它们会被认为是元素的集合,而非自身;如果由制表符或空格连接,则会被认为是创建了新的列。实例:
[1:2; 4:5] # 4 × 1[1:2 4:5] # 2 × 2[1 2 3] # 1 × 3[1 2; 3 4] # 2 × 2
这些只不过是一个函数的别名:
cat
:在任意维度上组合;vcat
:在一维上组合;hcat
:在二维上组合;